package com.itcz.maker.template.model;

import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * 模板制作器模型配置
 */
@Data
public class TemplateMakerModelConfig {
    // 模型信息配置集合
    private List<ModelInfoConfig> models;

    // 模型分组信息配置
    private ModelGroupConfig modelGroupConfig;

    @Data
    @NoArgsConstructor
    public static class ModelInfoConfig {
        // 属性名
        private String fieldName;
        // 属性类型
        private String type;
        // 描述信息
        private String description;
        // 默认值
        private Object defaultValue;
        // 缩写
        private String abbr;

        // 用于替换哪些文本
        private String replaceText;
    }

    @Data
    public static class ModelGroupConfig {
        // 分组唯一键
        private String groupKey;

        // 分组名称
        private String groupName;

        // 生成条件
        private String condition;

        // 分组类型
        private String type;

        // 描述信息
        private String description;
    }
}
